package com.woniu.smart.mapper;

import com.woniu.smart.dto.ContractInformationDTO;
import com.woniu.smart.entity.Room;
import com.woniu.smart.vo.NotRentedRoomVo;
import com.woniu.smart.vo.RoomVo;

import java.util.List;

/**
 * @author 晨星
 * @date 2022/10/21 21:01
 **/
public interface RoomMapper {

    /**
     * 查询全部房间
     *
     * @param id 主键id
     * @return java.util.List<com.woniu.smart.entity.Room>
     * @author 晨星
     * @date 2022/10/21 21:02
     **/
    List<RoomVo> selectAll(Long id);

    /**
     * 查询所有未出租房间
     *
     * @author 晨星
     * @date 2022/10/31 10:28
     * @return java.util.List<com.woniu.smart.vo.NotRentedRoomVo>
     **/
    List<NotRentedRoomVo> selectAllNotRented();

    /**
     * 根据id删除房间
     *
     * @param id 主键id
     * @return int
     * @author 晨星
     * @date 2022/10/21 21:04
     **/
    int deleteByPrimaryKey(Long id);

    /**
     * 新增房间的信息
     *
     * @param record 房间的实体类
     * @return int
     * @author 晨星
     * @date 2022/10/21 21:05
     **/
    int insertSelective(Room record);

    /**
     * 根据id查询房间
     *
     * @param id 主键id
     * @return com.woniu.smart.entity.Room
     * @author 晨星
     * @date 2022/10/21 21:07
     **/
    Room selectByPrimaryKey(Long id);

    /**
     * 修改房间的信息
     *
     * @param record 房间的实体类
     * @return int
     * @author 晨星
     * @date 2022/10/21 21:07
     **/
    int updateByPrimaryKeySelective(Room record);

    /**
     * @Description 通过房间名字和楼宇名字查询房间id
     * @Parm a
     * @Retrn a
     * @Author WangMr
     * @Date Create by 2022/11/2 20:07
     */
    int selectAllRoomNameAndBuildingName(ContractInformationDTO contractInformationDTO);

}
